<?php

require_once 'resource/db.inc.php';
require_once 'resource/crud.inc.php';

function opCreateFee(&$errores, &$exitos) {
    $nombre = isset($_POST['nombre']) ? filter_var($_POST['nombre'], FILTER_SANITIZE_STRING) : '';
    $precio = isset($_POST['precio']) ? filter_var($_POST['precio'], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION) : '';
    $duracion = isset($_POST['duracion']) ? filter_var($_POST['duracion'], FILTER_SANITIZE_STRING) : '';

    if (empty($nombre) || !$nombre) {
        $errores[] = "No se ha proporcionado correctamente el nombre de la cuota";
    }
    if (empty($precio) || !$precio || $precio < 0) {
        $errores[] = "No se ha proporcionado correctamente el precio de la cuota";
    }
    if (empty($duracion) || !$duracion) {
        $errores[] = "No se ha proporcionado correctamente la duracion de la cuota";
    }
    
    if (empty($errores)) {
        addCuota($_SESSION['gim_id'], $nombre, $precio, $duracion);
        $exitos[] = "Cuota almacenada satisfactoriamente";
    }
}

function opListFees(&$nreg, $regsxpag, &$pagina) {

    $pagina = (isset($_GET['page']) && ctype_digit($_GET['page']) && $_GET['page'] > 0 ) ? $_GET['page'] : 1;
    $registro = ($pagina > 0) ? ($pagina - 1) * $regsxpag : 0;

    if($_SESSION['user_nivel'] == 1){
        $nreg = getNumCuotas();
        $cuotas = getCuotasLimit($registro, $regsxpag);
    }elseif($_SESSION['user_nivel'] == 2){
        $nreg = getNumCuotasManager($_SESSION['gim_id']);
        $cuotas = getCuotasManagerLimit($_SESSION['gim_id'], $registro, $regsxpag);
    }
    return $cuotas;
}

function opDeleteFee(&$errores, &$exitos) {
    $gim_id = isset($_GET['gim_id']) ? filter_var($_GET['gim_id'], FILTER_SANITIZE_STRING) : '';
    $cuota_id = isset($_GET['cuota_id']) ? filter_var($_GET['cuota_id'], FILTER_SANITIZE_NUMBER_INT) : '';
    if (empty($gim_id) || !$gim_id) {
        $errores[] = "No se ha proporcionado correctamente el identificador del gimnasio";
    }
    if (empty($cuota_id) || !$cuota_id) {
        $errores[] = "No se ha proporcionado correctamente el identificador de la cuota";
    }
    if (empty($errores)) {
        deleteCuota($cuota_id, $gim_id);
        $exitos[] = "Cuota eliminada satisfactoriamente";
    }
}

function opModifyFee(&$errores, &$exitos) {
    $cuota_id = isset($_GET['cuota_id']) ? filter_var($_GET['cuota_id'], FILTER_SANITIZE_NUMBER_INT) : '';
    $nombre = isset($_POST['nombre']) ? filter_var($_POST['nombre'], FILTER_SANITIZE_STRING) : '';
    $precio = isset($_POST['precio']) ? filter_var($_POST['precio'], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION) : '';
    $duracion = isset($_POST['duracion']) ? filter_var($_POST['duracion'], FILTER_SANITIZE_STRING) : '';

    if (empty($cuota_id) || !$cuota_id) {
        $errores[] = "No se ha proporcionado correctamente el identificador de la cuota";
    }
    
    if (empty($nombre) || !$nombre) {
        $errores[] = "No se ha proporcionado correctamente el nombre de la cuota";
    }
    
    if (empty($precio) || !$precio) {
        $errores[] = "No se ha proporcionado correctamente el precio de la cuota";
    }
    
    if (empty($duracion) || !$duracion) {
        $errores[] = "No se ha proporcionado correctamente la duraci&oacute;n de la cuota";
    }
    
    if (empty($errores)) {
        updateCuota($cuota_id, $_SESSION['gim_id'], $nombre, $precio, $duracion);
        $exitos[] = "Cuota actualizada satisfactoriamente";
    }
}
?>

